# 编译器和编译选项
CXX = g++
CXXFLAGS = -Wall -Wextra -O1 -g

# 源文件和目标文件
SRCS = test.cpp
OBJS = $(SRCS:.cpp=.o)
TARGET = test

# 默认目标
all: $(TARGET)

# 链接目标文件生成可执行文件
$(TARGET): $(OBJS)
	$(CXX) $(CXXFLAGS) $(OBJS) -o $(TARGET)

# 编译源文件生成目标文件
%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

# 清理生成的文件
clean:
	rm -f $(OBJS) $(TARGET)
